-- summon
-- create by cheny3
-- 召唤类道具

return {
    -- 判断
    canTrigger = function(args)
        -- 获取召唤物品
        local items = PropertyM.getPropertyByTargetType(PROPERTY_SUMMON);

        if not items or #items < 0 then
            return false;
        end

        return true;
    end,

    -- 触发
    trigger = function(args)
        -- 获取召唤物品
        local items = PropertyM.getPropertyByTargetType(PROPERTY_SUMMON);

        if not items or #items < 0 then
            return false;
        end

        -- 需要使用的个数
        local count = args["count"];
        for _, classId in pairs(items) do
            if count <= 0 then
                -- 使用足够了
                return true;
            end

            -- 先判断是否有该道具
            if ItemM.getAmount(ME.user, classId) <= 0 then
                break;
            end

            -- 尝试使用一下
            if PropertyM.canUse(classId, 0) == true
                and DungeonActionM.go("use_property", 0, classId)  then
                -- 使用道具成功
                count = count - 1;
            end
        end

        return true;
    end,
};
